package domain;

import java.sql.SQLException;
import java.util.ArrayList;

import dao.Dao;

public class Service {
	
	private static Service service;

	private Service(){}

	public static Service getInstance(){
		if(service == null){
			service = new Service();
		}
		return service;
	}
	
	/*
	 * Opgave 2.a
	 */
	public void updateAntal(int varenr, int nyAntal) throws SQLException, InterruptedException{
		Dao.udtagAntal(varenr, nyAntal);
	}
	/*
	 * Opgave 2.b
	 */
	public String[][] getOverskredetMellemvarer() throws SQLException{
		return Dao.getOverskredetMellemVarer();
	}
	public String[][] getAllMellemvare() throws SQLException{
		return Dao.getAllMellemvarer();
	}
	/*
	 * Opgave 2.d
	 */
	public String[][] getMellemvaremedType(String type) throws SQLException{
		return Dao.getMellemvareMedType(type);
	}
	/*
	 * Opgave 2.e
	 */
	public void opretMellemVare(int vareNr, String type, int tilstand, int antalEnheder, int lagerplads, String behandlingsnavn) throws SQLException{
		
			Dao.indsaetMellemvare(vareNr, type, behandlingsnavn, tilstand, antalEnheder, lagerplads);
		
	}
	
	public void updateAntalTest(Long delay){
		
	}
	public ArrayList<String> getProcedures() throws SQLException{
		return Dao.getRoutines();
	}
	public void callProcedure(String procedure) throws SQLException {
		Dao.callProcedure(procedure);
	}
	
	public int[] getMellemvareToerretider(int vareNr) throws SQLException{
		return Dao.getMellemvareToerretider(vareNr);
	}
	
	public boolean isLagerpladsenLedig(String id) throws SQLException{
		return Dao.isLagerpladsenLedig(id);
	}
	
	public ArrayList<String> getledigelagerpladser() throws SQLException{
		return Dao.getLediglagerpladser();
	}
	
	public ArrayList<String> getbehandlinger() throws SQLException{
		return Dao.getBehandlinger();
	}
	
	public boolean findesLagerpladsen(int id) throws SQLException{
		return Dao.findesLagerpladsen(id);
	}
}
